package com.broada.apm.dao;

import java.util.List;

import com.broada.apm.model.Dimension.Area;
import com.broada.apm.model.Dimension.Browser;
import com.broada.apm.model.Dimension.Device;
import com.broada.apm.model.Dimension.Error;
import com.broada.apm.model.Dimension.OS;

public interface DimensionDao {

	/**
	 * 添加返回码信息
	 * @param error
	 */
	public void addError(Error error);

	/**
	 * 修改返回码信息
	 * @param error
	 */
	public void updateError(Error error);

	/**
	 * 根据协议类型查询返回码信息
	 * @param protocol
	 * @return
	 */
	public List<Error> getErrorByL7Protocol(int protocol);

	/**
	 * 删除返回码信息
	 * @param error
	 */
	public void deleteError(Error error);

//	/**
//	 * 查询所有协议类型
//	 * @return
//	 */
//	public List<Protocol> getAllProtocals();

	/**
	 * 根据id查询协议类型
	 * @param id
	 * @return
	 */
//	public L7Module getProtocalById(String id);

	/**
	 * 查询所有浏览器类型
	 * @return
	 */
	public List<Browser> getAllBrowsers();

	/**
	 * 查询所有设备类型
	 * @return
	 */
	public List<Device> getAllDevices();

	/**
	 * 查询所有操作系统类型
	 * @return
	 */
	public List<OS> getAllOSs();

	public List<Area> getAllAreas();
	
	public List<Area> getRootArea();

	public List<Area> getProvinceArea(String root);

	public List<Area> getCityArea(String province);

	public List<Area> getDistrictArea(String district);

	public Error getErrorById(String id);

}
